package com.cy.pj.common.pojo;

import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 * 借助此类封装业务层分页信息
 * 所有用于封装数据的对象都实现Serializable接口（此接口是能否序列化的标识）
 * 序列化：对象转换为字节
 * 反序列：字节转换为对象
 * Java中对象序列化的实现：ObjectOutputStream(将对象序列化)
 *                       ObjectInputStream(字节反序列化生成对象)
 */

@Data
public class PageObject<T> implements Serializable {//实现序列化接口，可以进行网络传输,是个标识接口，其中没有方法
    private static final long serialVersionUID = -3130527491950235344L;
    private Integer rowCount;//总记录数
    private List<T> records;//当前页面记录
    private Integer pageCount;//总页数
    private Integer pageSize;//每页显示多少条
    private Integer pageCurrent;//页码值

    public PageObject() {
    }

    public PageObject(Integer rowCount, List<T> records, Integer pageSize, Integer pageCurrent) {
        this.rowCount = rowCount;
        this.records = records;
        this.pageSize = pageSize;
        this.pageCurrent = pageCurrent;
        this.pageCount=this.rowCount/this.pageSize;
        if(this.rowCount%this.pageSize!=0);
            this.pageCount++;
    }
}
